/*
 * 创建时间：17-9-23
 * 作者：sce
 * 功能描述：菜单的model表
 * 修改时间：
 */

import Sequelize from 'sequelize'
import sequelize from './../../database'

const Menu = sequelize.define('sys_menu', {
    id:{
        type: Sequelize.UUIDV4,
        defaultValue: Sequelize.UUIDV4,
        unique: true,
        allowNull: false,
        primaryKey:true
    },
    menu_name:{
        type:Sequelize.STRING,
        allowNull:false
    },
    level:{
        type:Sequelize.INTEGER,
        allowNull:false
    },
    url:{
        type:Sequelize.STRING,
        allowNull:false
    },
    menu_icon:{
        type:Sequelize.STRING
    },
    parent_id:{
        type:Sequelize.STRING,
        defaultValue:null
    }
},{
    freezeTableName:false,
    tableName: 'sys_menu',
});
class MenuModel{
    findById(id){
        return Menu.findById(id);
    }
    findListAll(){
        return Menu.findAll();
    }
    insert(record){
        return Menu.create(record);
    }
    update(record){
        return Menu.update(record,
            {
                'where':{
                    'id': record.id
                },
                fields: ['menu_name','level', 'url', 'parent_id','menu_icon']
            }
        )
    }
    deleteById(id){
        return Menu.destroy({
            where: {
                id: id
            }
        });
    }
}
module.exports = new MenuModel();